In modern business enterprises, IT data systems may comprise multiple applications executing on multiple hardware and software platforms. Various solutions exist for managing and sharing business data among such disparate systems. For example, ETL (extract, transform, load) systems are commonly employed to integrate data from multiple sources for purposes such as data warehousing, analysis, and business intelligence. EAI (enterprise application integration) is a more transaction-oriented approach, and EAI middleware may employ asynchronous message queues and data transformations to manage end-to-end business processes and workflows. Cloud-based EAI solutions may be employed in conjunction with SaaS (software as a service) applications. Highly integrated application suites, such as CRM (customer relationship management) and ERP (enterprise resource planning) solutions also exist, and these may include modular components as well as custom integrations that may use point-to-point, message broker, and ESB (enterprise service bus) architectures.
With the proliferation of mobile computing devices such as smartphones and tablet computing devices, there has been an increase in mobile application use, fueled by increases in bandwidth on mobile networks, larger displays with high resolutions on the devices, and improved connectivity and processing power. The mobile client applications or “apps” may be designed to interface in real-time with enterprise business software as well as with backend systems. Such apps may be simpler, lighter mobile versions of business software applications with relatively limited functionality. Alternatively, the mobile apps may have dedicated functions related to specific business processes, or may be companion apps with appropriate connectors.
Many prior art integration solutions utilize asynchronous message queues to manage business processes and workflows. Business processes incorporating mobile computing devices and mobile apps, however, may require a request and response message exchange pattern and thus real-time message processing is needed. In some cases, if a user is not logged in to a mobile app, it may be desirable to send a notification through an alternate channel in real-time, such as by SMS. Utilizing persistent IP connections to the Internet, mobile apps may deliver messages and notifications using different and alternative channels, such as email, SMS, and other push notification services, allowing message processing in real-time.